"""
============
m.exceptions
============

A module containing various ``Exception`` subclasses for various internal uses.

"""

class ConditionError(Exception):
    """
    ConditionError
    ==============

    An invalid condition was supplied to the ``Conditional`` class.
    
    """

class InvalidArgument(Exception):
    """
    InvalidArgument
    ===============

    An invalid argument was supplied.
    
    """

class InvalidOperator(Exception):
    """
    InvalidOperator
    ===============

    An invalid operator was supplied in a conditional statement.
    
    """

class InvalidTag(Exception):
    """
    InvalidTag
    ==========

    An invalid tag was detected.
    
    """

class NoSuchSubtag(Exception):
    """
    NoSuchSubtag
    ============

    The requested subtag wasn't found.
    
    """

class OpenError(Exception):
    """
    OpenError
    =========

    The requested file couldn't be opened.
    
    """

class UnclosedTag(Exception):
    """
    UnclosedTag
    ===========

    A tag was left unclosed.
    
    """

class UnexpectedTag(Exception):
    """
    UnexpectedTag
    =============

    An unexpected tag was detected.
    
    """
